package com.weyoung.app.pojo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.util.Date;

/**
 * 用户实体类，对应数据库中的 user 表
 */
@Data
@TableName("user")
public class User {
    /**
     * 用户ID，主键，自增
     */
    @TableId(type = IdType.AUTO)
    @TableField("id")
    private Integer id;

    /**
     * 微信用户唯一标识
     */
    @TableField("openid")
    private String openid;

    /**
     * 用户名，用于用户名密码登录
     */
    @TableField("username")
    private String username;

    /**
     * 用户密码，需加密存储
     */
    @TableField("password")
    private String password;

    /**
     * 用户昵称
     */
    @TableField("nickname")
    private String nickname;

    /**
     * 用户头像地址
     */
    @TableField("avatar_url")
    private String avatarUrl;

    /**
     * 用户性别，0 未知，1 男，2 女
     */
    @TableField("gender")
    private Integer gender;

    /**
     * 用户所在城市
     */
    @TableField("city")
    private String city;

    /**
     * 用户所在省份
     */
    @TableField("province")
    private String province;

    /**
     * 用户所在国家
     */
    @TableField("country")
    private String country;

    /**
     * 用户手机号码
     */
    @TableField("phone_number")
    private String phone;

    /**
     * 用户邮箱地址
     */
    @TableField("email")
    private String email;

    /**
     * 用户状态，1 正常，0 禁用
     */
    @TableField("status")
    private Integer status;

    /**
     * 逻辑删除标记，0 未删除，1 已删除
     */
    @TableField("is_deleted")
    private Integer isDeleted;

    /**
     * 用户注册时间
     */
    @TableField("create_time")
    private Date createTime;

    /**
     * 用户信息更新时间
     */
    @TableField("update_time")
    private Date updateTime;
    /**
     * 用户身高体重
     */
    @TableField("height")
    private Double height;
    @TableField("weight")
    private Double weight;
    @TableField("birthday")
    private Date birthDay;
    @TableField("blood_type")
    private String bloodType;
}    